Numerous algorithms are currently known for compressing and encoding both individual digital images, used for example in photographic applications, and digital image sequences, used for example in video applications.
The compression-encoding algorithms make it possible to reduce the amount of memory required for storing individual images or video sequences. Such algorithms also make it possible to reduce the bandwidth resources necessary for the transfer of the images between different devices or for the transmission thereof on telecommunications networks such as, for example, the Internet.
A compression-encoding algorithm transforms a digital image, or a digital video sequence, into a compressed and encoded digital data sequence, for example in the form of a bit sequence.
The most common and efficient compression-encoding methods currently used are based on an operation of transformation of the images in a bi-dimensional spatial frequencies domain. Of these, numerous methods use the Discrete Cosine Transform (DCT). Examples thereof are the compression-encoding methods, for individual (or still) images, compliant with the international JPEG (Joint Photographic Experts Group) standard and the compression-encoding methods, for video sequences, compliant with the international MPEG (Motion Picture Experts Group) standard, such as MPEG-1, MPEG-2, and MPEG-4.
Amongst the other standards that use compression-encoding methods based on the DCT transform, we further mention, the H263 and H26L standards.
The transformation operation is followed by a subsequent processing which reduces the information content of a digital image or of a sequence of digital images, by operating directly within the spatial frequencies domain.
After this processing aimed at reducing the information content, the images are encoded according to known algorithms, through entropic encoding methods, commonly of the type including a variable length coding (VLC). Huffman coding is for example, a particular type of entropic variable length coding (VLC) that makes it possible to reduce the number of bits necessary to represent a data set without introducing any information loss.
The thus compressed and encoded images, or video sequences, are transferred in the form of a bit sequence in storing devices or they are remote transmitted, for example they are exchanged between multimedia communication terminals.
The decoding-decompression process, typically inverse to that of encoding-compression, is aimed at the reconstruction of the digital images or video sequences from the compressed and encoded data sequence. For example, the decoding-decompression process is used in applications that require the displaying on a screen of such digital images or such video sequences.
As is known, a bit sequence, during memorization or the transmission, may be corrupted, i.e. altered, by errors.
This problem is particularly noticeable when the bit sequence is transmitted on radio channels, such as those used in the telephonic and video communications fields. The presence of disturbances of various kinds on the channel may vary the value of certain bits in the sequence, i.e. it may introduce errors.
The performances of the decoding-decompression of an encoded-compressed bit sequence with methods that use an entropic variable length coding (VLC) are considerably influenced by the presence of any errors that have corrupted the bit sequence to be decoded. This is due, for example, to the fact that certain errors may be such that a code word is erroneously interpreted as another code word of a different length, without the presence of an error being detected effectively in the decoding step. This situation may determine a loss of synchronization in a decoding step.
In this way, even an error in a single bit may entail the loss of a large amount of data, thus producing a significant degradation in the quality of the video or image.
It has been observed that the state of the art decoding-decompression techniques, for example those compliant with the different standards currently existing, in the presence of errors that alter the compressed-encoded bit sequence, do not guarantee satisfactory performances in terms of the quality of the decoded-decompressed image or sequence.